package com.ophiux.member.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ophiux.common.core.base.Result;
import com.ophiux.member.model.dto.MemberDTO;
import com.ophiux.member.model.entity.Member;
import com.ophiux.member.model.vo.MemberAddVo;
import com.ophiux.member.model.vo.MemberLoginReqVo;
import com.ophiux.member.model.vo.MemberQueryVo;
import com.ophiux.member.model.vo.MemberUpdateVo;

/**
 * @desc:
 * @author: hhl 
 * @date：2021/10/21 9:56
 */
public interface IMemberService extends IService<Member> {

	/**
	 * 根据用户id查询用户信息
	 * 
	 * @param userId
	 * @return
	 */
	String getUserById(Integer userId);

	/**
	 * 分页查询
	 * 
	 * @param iPage
	 * @param queryDTO
	 * @return
	 */
	IPage<MemberDTO> getPage(IPage<Member> iPage, MemberQueryVo queryDTO);

	/**
	 * 新增会员信息
	 * 
	 * @param vo
	 * @return
	 */
	Result insert(MemberAddVo vo);

	/**
	 * 修改会员信息
	 * 
	 * @param vo
	 * @return
	 */
	Result update(MemberUpdateVo vo);

	/**
	 * 会员登录
	 * 
	 * @param vo
	 * @return
	 */
	Result<MemberDTO> login(MemberLoginReqVo vo);

	/**
	 * 修改用户金额
	 * @param amount	金额
	 * @return
	 */
	Result updateAmount(Integer amount);
}
